package config

import (
	"fmt"
	"os"

	"gopkg.in/yaml.v2"
)

// ServerConfig 服务器配置结构
type ServerConfig struct {
	Host string `yaml:"host"`
	Port int    `yaml:"port"`
}

// Config 配置结构
type Config struct {
	Server ServerConfig `yaml:"server"`
}

// LoadConfig 加载配置文件
func LoadConfig() (*Config, error) {
	config := &Config{}

	// 读取配置文件
	data, err := os.ReadFile("config/config.yaml")
	if err != nil {
		return nil, fmt.Errorf("读取配置文件失败: %v", err)
	}

	// 解析YAML
	if err := yaml.Unmarshal(data, config); err != nil {
		return nil, fmt.Errorf("解析配置文件失败: %v", err)
	}

	return config, nil
}
